package cn.hgy.trigger.api;

import cn.hgy.trigger.api.dto.RaffleAwardListRequestDTO;
import cn.hgy.trigger.api.dto.RaffleAwardListResponseDTO;
import cn.hgy.trigger.api.dto.RaffleStrategyRequestDTO;
import cn.hgy.trigger.api.dto.RaffleStrategyResponseDTO;
import cn.hgy.types.model.Response;

import java.util.List;

/**
 * @Author: 黄光宇
 * @CreateTime: 2025-09-02
 * @Description: 抽奖服务接口
 */
public interface IRaffleStrategyService {

    /**
     * 策略装配接口
     * @param strategyId 策略Id
     * @return 装配结果
     */
    Response<Boolean> strategyArmory(Long strategyId);

    /**
     * 查询抽奖奖品列表配置
     * @param requestDTO 抽奖奖品列表请求参数
     * @return 奖品列表数据
     */
    Response<List<RaffleAwardListResponseDTO>> queryRaffleAwardList(RaffleAwardListRequestDTO requestDTO);

    /**
     * 随机抽奖接口
     * @param requestDTO 抽奖请求参数
     * @return 抽奖结果
     */
    Response<RaffleStrategyResponseDTO> randomRaffle(RaffleStrategyRequestDTO requestDTO);
}
